As a speech coding system which has heretofore been used most frequently in a cellular phone, there is a code excited linear prediction (CELP) system. As a document in which the CELP system is described, there is “Code-Excited Linear Prediction: High Quality Speech at Very Low Bit Rates” (IEEE Proc. ICASSP-85, pp. 937 to 940, 1985) (hereinafter referred to as Reference Document 1).
In a coding apparatus by the CELP system, a linear prediction (LP) coefficient and excitation signal are separately coded. The LP coefficient indicates a spectrum envelope characteristic obtained by subjecting an input speech signal to a linear prediction (LP) analysis and calculation. The excitation signal drives an LP synthesis filter constituted of the LP coefficient. The LP analysis and the coding of the LP coefficient are carried out for each frame which has a predetermined length. This frame is further divided into sub-frames, and the excitation signal to be coded is coded for each sub-frame.
Here, the excitation signal is constituted of a period component indicating a pitch period of an input signal, remaining residual error components, and gains of the components. The period component indicating a pitch period of the input signal is represented by an adaptive code vector stored in a codebook which is called an adaptive codebook and which holds the past excitation signal. The residual error component is represented by a multi-pulse signal constituted of a plurality of pulses called a speech source code vector or a pre-designed signal. Information of the speech source code vector is accumulated in a speech source codebook.
In a decoding apparatus by the CELP system, the decoded pitch period component and the excitation signal calculated from the residual error signal are inputted into the synthesis filter constituted of the decoded LP coefficient to obtain a synthesized speech signal.
As the conventional conversion apparatus for converting the speech code sequence obtained by one system of coding into the speech code sequence decodable by the other system in the communication between two different CELP systems, there is a conversion apparatus in which a speech signal decoded from the speech code sequence inputted from the decoding apparatus of one CELP system is coded in the other CELP system to obtain an output speech code sequence.
Next, this type of conversion apparatus of the speech code sequence which has heretofore been used will be described with reference to FIG. 1. FIG. 1 is a block diagram showing one constitution example of the conversion apparatus which converts the speech code sequence of one CELP system A into that of the other CELP system B.
The shown conversion apparatus includes an input terminal 10, demultiplexer circuit 11, LP coefficient decoding circuit 12, pitch component decoding circuit 113, residual error component decoding circuit 14, and speech synthesis circuit 15 for decoding processing of the CELP system A. A frame circuit 21, sub-frame circuit 22, LP analysis circuit 130, LP coefficient coding circuit 31, pitch period candidate selection circuit 132, pitch component coding circuit 41, residual error component coding circuit 51, excitation signal synthesis circuit 52, multiplexer circuit 53, and output terminal 50 are disposed to carry out coding processing of the CELP system B.
The input terminal 10 inputs the code sequence of the CELP system A for each frame of the CELP system A, and transfers the sequence to the demultiplexer circuit 11. The demultiplexer circuit 11 separates each code from the code sequence transferred from the input terminal 10. The demultiplexer circuit 11 separates the code of the separated quantization LP coefficient to transfer the code to the LP coefficient decoding circuit 12, transfers the code of the pitch period to the pitch component decoding circuit 113, and further transfers the code of the residual error component signal to the residual error component decoding circuit 14.
The LP coefficient decoding circuit 12 uses the code transferred from the demultiplexer circuit 11 to decode the LP coefficient indicating a spectrum characteristic, and transfers the decoded coefficient to the speech synthesis circuit 15.
As a coding method and decoding method of the LP coefficient, there is a method of performing vector quantization of the LP coefficient after change into a line spectrum pair (LSP). In the vector quantization, a coding unit and decoding unit have the same quantization vector table, and the code attached to each vector is transmitted. The decoding unit outputs the vector corresponding to the transferred code. For details of a vector quantization method of LSP, “Efficient Vector Quantization of LPC Parameters at 24 Bits/Frame” (IEEE Proc. ICASSP-91, pp. 661 to 664, 1991) (hereinafter referred to as Reference Document 2) can be referred to.
The pitch component decoding circuit 113 decodes a pitch period L and pitch gain ga from the code transferred from the demultiplexer circuit 11. The pitch period L and pitch gain ga are scalar-quantized, and a value corresponding to the transferred code is retrieved from a pre-designed quantization table to obtain a decoded value. The pitch component decoding circuit 113 accumulates the excitation signal transferred from the speech synthesis circuit 15 up to a sample with respect to the past pitch period L, and traces back and cuts out the accumulated excitation signals for the past pitch period L to prepare an adaptive code vector Ca. Finally, a pitch component signal Ea (=ga·Ca) is calculated, and transferred to the speech synthesis circuit 15.
The residual error component decoding circuit 14 uses the code transferred from the demultiplexer circuit 11 to decode a speech source code vector Cr and speech source gain gr, calculates a residual error component signal Er (=gr·Cr), and transfers the signal to the speech synthesis circuit 15. The speech source gain gr is scalar-quantized, and the value corresponding to the transferred code is retrieved from the pre-designed quantization table to obtain the decoded value. For the speech source code vector Cr, the vector corresponding to the transferred code is retrieved from the speech source codebook prepared beforehand to obtain a decoded vector.
The speech synthesis circuit 15 uses the pitch component signal Ea transferred from the pitch component decoding circuit 113 and the residual error component signal Er transferred from the residual error component decoding circuit 14 to calculate an excitation signal vector Ex of the following equation 1, and transfers a calculated result to the pitch component decoding circuit 113.Ex=Ea+Er=ga·Ca+gr·Cr  (1)
Furthermore, the speech synthesis circuit 15 uses a synthesis filter H(z) constituted of an LP coefficient a(i) transferred from the LP coefficient decoding circuit 12 and shown in the following equation 2 to filter the excitation signal vector Ex calculated beforehand, obtains the decoded signal of the CELP system A, and transfers the decoded signal to the frame circuit 21.
                              H          ⁡                      (            z            )                          =                  1                      1            +                                          ∑                                  i                  =                  1                                p                            ⁢                                                a                  ⁡                                      (                    i                    )                                                  ⁢                                  z                                      -                    1                                                                                                          (        2        )            
In Equation 2, “p” denotes an order of the LP coefficient.
In order to enhance an auditory speech quality in the CELP system, a filter, called a post filter, for emphasizing a spectrum peak is used with respect to the decoded signal. However, when the coding is carried out again, coding strain is increased, and therefore this post filter is not applied.
The frame circuit 21 cuts the decoded signal transferred from the speech synthesis circuit 15 by a frame length of the CELP system B, and transfers the signals to the LP analysis circuit 130, pitch period candidate selection circuit 132, and sub-frame circuit 22. The sub-frame circuit 22 divides the decoded signal transferred from the frame circuit 21 into sub-frame lengths of the CELP system B, and transfers the signals to the pitch component coding circuit 41.
The LP analysis circuit 130 LP-analyzes the decoded signal transferred from the frame circuit 21 to obtain the LP coefficient. Next, the LP analysis circuit 130 transfers the obtained LP coefficient to the LP coefficient coding circuit 30 and pitch period candidate selection circuit 132.
The LP coefficient coding circuit 31 vector-quantizes the LP coefficient transferred from the LP analysis circuit 130, and transfers the code to the multiplexer circuit 53. For this quantization method, Reference Document 2 described above can be referred to. Furthermore, the LP coefficient coding circuit 31 transfers the quantized LP coefficient to the pitch component coding circuit 41 and residual error component coding circuit 51.
The pitch period candidate selection circuit 132 uses the decoded signal transferred from the frame circuit 21 to select a candidate of the pitch period, and transfers the candidate to the pitch component coding circuit 41. To select the candidate, first the decoded signal transferred from the frame circuit 21 is filtered by a load filter W(z) constituted of the LP coefficient a(i) transferred from the LP analysis circuit 130 and shown in the following equation 3. In Equation 3, “β” and “γ” denote coefficients for adjusting a load degree to improve the auditory speech quality and take values which satisfy “0<γ<β≦1”.
                              W          ⁡                      (            z            )                          =                              1            +                                          ∑                                  i                  =                  1                                p                            ⁢                                                β                                                                                                    ⁢                    i                                                  ⁢                                  a                  ⁡                                      (                    i                    )                                                  ⁢                                  z                                      -                    1                                                                                            1            +                                          ∑                                  i                  =                  1                                p                            ⁢                                                γ                                                                                                    ⁢                    i                                                  ⁢                                  a                  ⁡                                      (                    i                    )                                                  ⁢                                  z                                      -                    1                                                                                                          (        3        )            
Next, the pitch period candidate selection circuit 132 calculates a self correlation function of the load decoded signal in a range of correlation lags “20 to 147”, and selects a correlation lag in which the self correlation is maximized and a neighboring value as the candidates of the pitch period.
The pitch component coding circuit 41 codes the pitch period component of a decoded signal vector Sd which has been transferred from the sub-frame circuit 22 and which corresponds to the sub-frame length for each sub-frame, and transfers the code to the multiplexer circuit 53. The pitch component coding circuit 41 first traces back the excitation signal which has been transferred from the residual error component coding circuit 51 and which was decoded in the past for a time L and cuts the signal by the sub-frame length to prepare the adaptive code vector. Next, the pitch component coding circuit 41 filters this adaptive code vector by Equation 2 described above, and calculates a decoded signal Sa(L) of only the pitch component. Furthermore, the pitch component coding circuit 41 uses Equation 3 described above to load the decoded signal vector Sd and pitch period component vector Sa(L) to obtain a load decoded signal vector Sdw and load pitch period component vector Saw(L).
The pitch component coding circuit 41 performs an operation concerning the above-described pitch period component with respect to each candidate of the pitch period transferred from the pitch period candidate selection circuit 132, and determines an optimum pitch period Lo in which a square distance Da between the load decoded signal vector Sdw and load pitch period component vector Saw(L) is minimized. The square distance Da is obtained by the following equation 4 using an optimum pitch gain ga(L) calculated for each pitch period L. The optimum pitch gain ga(L) is obtained by the following equation 5. Here, in the following description, symbol ∥x∥ means a norm of a vector x, and symbol <x, y> means an inner product of vectors x and y, respectivelyDa=|Sdw−ga(L)·Saw(L)|  (4)ga(L)=<Sdw, Saw(L)>/|Saw(L)|  (5)
The pitch component coding circuit 41 finally transfers the code obtained by the scalar quantization of the optimum pitch period Lo and the corresponding pitch gain ga(Lo) to the multiplexer circuit 53.
Moreover, the pitch component coding circuit 41 transfers a residual error signal vector Sdw′ obtained by subtracting the vector obtained by integrating a load pitch period component vector Saw(Lo) with a quantized optimum pitch gain gaq(Lo) from the load decoded signal vector Sdw to the residual error component coding circuit 51. Furthermore, the pitch component coding circuit 41 transfers a pitch component excitation signal E′a obtained by integrating an adaptive code vector Ca(Lo) corresponding to the optimum pitch period Lo with the quantized optimum pitch gain gaq(Lo) to the excitation signal synthesis circuit 52.
The residual error component coding circuit 51 codes the residual error signal vector Sdw′ transferred as the residual error component of the decoded signal vector Sd from the pitch component coding circuit 41 for each sub-frame, and transfers the code to the multiplexer 53.
That is, the residual error component coding circuit 51 first takes a k-th speech source code vector Cr(k) from the pre-designed and accumulated speech source codebook. Next, the residual error component coding circuit 51 filters the speech source code vector by Equation 2 described above, and calculates a decoded signal Sr(k) of only the residual error component. Furthermore, the residual error component coding circuit 51 uses Equation 3 described above to load the decoded signal vector Sd and residual error component vector Sr(k), and obtains the load decoded signal vector Sdw and loaded residual error component vector Srw(k). The residual error component coding circuit 51 performs the operation concerning the above-described residual error component with respect to all the speech source code vectors accumulated in the speech source codebook, and determines a code ko of the speech source code vector so that a square distance Dr between the residual error signal vector Sdw′ and load residual error component vector Srw(k) transferred from the pitch component coding circuit 41 is minimized.
The square distance Dr is obtained by the following equation 6 using an optimum speech source gain gr(k) calculated for each delay. The optimum speech source gain gr(k) is obtained by the following equation 7.Dr=|Sdw′−gr(K)·Srw(K)|  (6)gr(K)=<Sdw, Srw(k)>/|Srw(k)|  (7)
Finally, the residual error component coding circuit 51 scalar-quantizes an optimum speech source gain gr(ko), and transfers the code and the code ko of the speech source code vector to the multiplexer circuit 53. The residual error component coding circuit 51 transfers a residual error component excitation signal E′r obtained by integrating a selected speech source code vector Cr(ko) with the quantized optimum speech source gain grq(ko) to the excitation signal synthesis circuit 52.
The excitation signal synthesis circuit 52 adds a pitch component excitation signal E′a transferred from the pitch component coding circuit 41 and the residual error component excitation signal E′r transferred from the residual error component coding circuit 51 to calculate an excitation signal Ex′ by the following equation 8, and transfers the signal to the pitch component coding circuit 41.
                                                                        Ex                ′                            =                            ⁢                                                                    E                    ′                                    ⁢                  a                                +                                                      E                    ′                                    ⁢                  r                                                                                                        =                            ⁢                                                                    gaq                    ⁡                                          (                      Lo                      )                                                        ·                                      Ca                    ⁡                                          (                      Lo                      )                                                                      +                                                      grq                    ⁡                                          (                      ko                      )                                                        ·                                      Cr                    ⁡                                          (                      ko                      )                                                                                                                              (        8        )            
The multiplexer circuit 53 connects the codes to one another in a predetermined order, which have been transferred from the LP coefficient coding circuit 31, pitch component coding circuit 41, and residual error component coding circuit 51 and obtained by the coding, to produce the code sequence, and transfers the sequence to the output terminal 50. The output terminal 50 outputs the code sequence transferred from the multiplexer circuit 53.
However, the above-described conversion apparatus of the speech code sequence is unfavorable, because a code conversion processing amount is large and enlargement cannot be avoided.
A reason for this is that the code sequence concerning all parameters is converted via the synthesized decoded signal, when the decoded signal obtained by synthesizing the code sequence coded by the CELP system A on an input side from the demultiplexer circuit via the decoding circuit is coded by the CELP system B on an output side through the frame circuit.
Therefore, an object of the present invention is to provide a conversion apparatus of a speech code sequence and a method in which a speech code sequence to be inputted is decoded and converted into another speech code sequence without increasing a strain and the sequence can be converted with a small calculation amount.